              		   T U R T L E


	     (_Unbreakable_*) Unorthodox Encryption System

R1> Revision one regards safe guarding Turtles encryption methods.

	Indeed, I believe the secret of Turtle is not the algorithms used but rather the key (master file used). Therefore the source will now be provided (also follows TOS policy).

R2> Revision two is the encryption speed. The latest version encrypts messages far quicker than v1.00. The prior version increased the searchable data size by one, until a match was found. The current version either finds a match in the searchable data or looks at the entire text.
  

R3> tsh73 advised me look at http://en.wikipedia.org/wiki/One-time_pad.
One-time pad encryption was proven to be unbreakable because a huge random key was generated and used only one time. Turtle also tries to build unbreakable code but does not generate keys at all, it just points to an unknown key. Btw, thanks for showing me this article, it provided useful information.
	
	One-time pad also used several algorithms to encrypt data. Turtle does not, in its simplest form, it merely just points to a substring.
If the code tells the decryption to use the first four bytes of the text,
If this text was the master it would yield T U , if Alice and Wonderland was used, it would yield Alic, Moby Dick, the book of Genisis, etc, would all yield different results. 

Q0> Why the name Turtle?

	Turtle was supposed to be (1) slow, (2) option to expose everything, or (3) hide everything, and (4) have a hard shell to defend against critics.
	Fortunately, release 1.02 fails at remaining slow. :)

Q1> Is any system really unbreakable and why the asterisk?

	Hopefully, the word unbreakable got your attention and peaked your curiosity. First, the asterisk warns that the system is (near) unbreakable with optimum user input. Secondly, even giving the code-breakers the exact encryption algorithm and solving a cipher for them,
gives them no clues for solving future messages. In fact, even a brute force break of a small message, would offer no clues for solving future messages.

Q2 > Please explain, even giving the code-breakers the exact encryption algorithm and solving a cipher for them, gives them no clues for solving future messages.

       Usually, solving a single cipher from one system is all one needs to crack the entire system. Not so, with Turtle! Why? Many of us use passwords, secret combinations, or keys all of the time. (Note for optimum security, passwords should be exchanged verbally, preferably in person). 
       The password or key that makes Turtle work (of course only known by two individuals) is what master text file to use. Without this key, I declare Turtle (near) unbreakable*!!
       
Q3>	How about an example? Your secret friend meets you and gives you the password, === Alice in Wonderland, 21,003. You open his secret email and see:   

4834450261922355092488475405121883620776
5027320596551250011657533502365167550357
8603730536411145071266322403656383200293
2531370377364534066592384407435016540528
3511710390485733076231323004832562410421
4389200283526923025292672103422023220822
50053502435845220231
       
 	You download Alice in Wonderland from Project Gutenberg and rename it mastertextfile.txt. You create a file of the above numbers called turtleinput.txt and run Turtle and get:


it w two pantiMouse.to
Aliit er chves,
aaid al t
d wot ur itsshe couTHAch ot u ts e e'

	Darn, the message makes no sense and you note that you only accepted the default starting point of 1, but your friend gave you 21,003.

	You rerun using the starting point of 21,003 and get: ===

I always enjoyed programming, first on the Timex Sinclair, second on the Commodore Sixty Four.

Q4>	Im no rocket scientist but I believe given the above numerical message and master text file, I could crack the code. Right?

	Right, and you may always have the numerical or encrypted message but what you will not have is, the master text file. How will you know to use Alice in Wonderland, Moby Dick, the Book of Luke, or any of the 33,000 free eBooks on Project Gutenberg? You could also use any text such as ever changing newspapers or for further secrecy use proprietary files not published on the web. In addition, you could slice up a book or text dozens of ways, using text from character 80,001 to 160,000 for example.
	Remember, only two people know the password!
 	
Q5>	The above message takes about 2 and one half minutes to encrypt and decrypts in a split second. Why?

	All of the work is done during encryption and includes random and varying criteria. You may rerun and encrypt a message a second time and get an entirely different set of numbers.

Q6>	Can you summarize the above Unbreakable* method in a non-programming manner?

	Yes, suppose I give you this locker combination 21-8-17. You KNOW how to decode this and open a locker to get to the secret contents. What you dont know is, where the locker is! To exaggerate to make a point  Ill give you a hint that the locker is somewhere in the United States!!
	Similarly, what master file do you use?

Q7>	Ok, how do I start?

	There are 4 parts to Turtle: (1) turtle100.tkn, source not released at this time. (2) mastertextfile.txt  agreed upon master (password) file to use. Starting point default to one but user can override. (Sample provided). (3) turtleinput.txt  file to encrypt or decrypt. The program will assume decryption if first character is a number. (4) turtleoutput.txt  file for output of encryption, may be renamed to turtleinput.txt for input in to decryption.

Q8> 	My encryption run terminates immediately saying it cannot encode my file.  Why?
	
	Every character of your message must be found in the text. Given the above example,  second on the Commodore 64, Turtle cannot encode 64 because it does not find it in the text. Changing it to Sixty Four was the work around. Most punctuation will be found in a text file but not all special characters. {[]}^ etc, may not be found.

Q9>	I carefully cut and paste the output of encryption into the turtleinput.txt file but the program decryption looks unreadable. Why?

	Linefeed, carriage returns, and any inadvertent unprintable characters will accidentally corrupt your encryption data. You can try to use <delete> at the end of each line or easier is to email the recipient (or use) the turtleoutput.txt output file as input (rename accordingly).
	You also may have used the wrong starting pointer or wrong text master file. 

Q10>	How about a contest to see just how easy it is to crack the code?

	Ok, the first to break this code will be listed here in the release notes (option of name, email address, or screen name). 

9556350251782729015842065905813852560580
7271690247305761075375797503832621580698
3443300996719563006034935908531201340333
2276700033386910019417472003895106100041
8144340263636210013516292309717706210913
2318410738276233054290886501679575460834
7564810451378224077958942306505993100120
845836058097573500277321240592 

Q11>	Im too lazy to continuously grab new master text files. Any advice?

	While far from optimum, for test purposes one can vary the starting point number for what should be different results. On run one you can start at one, on run two, start at 25,000, run three start at 54,088, etc. Each of the above runs will yield different (yet less secure) results.   
 
 

-------------------------------------------------------------------------

	As a disclaimer, passwords should only be exchanged verbally, preferably in person. A user could never or rarely change their master text file leaving the message with less than optimum security. They also could include the repetitive information upfront of an eBook making it easier to crack. 
	Turtle is to be used only for legal purposes.

	If only I had a $1.00 for every system said to be foolproof   tcoffin1@cfl.rr.com
